﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>

using namespace std;

//class Date
//{
//public:
//	Date(int year=1999,int month=1,int day=1)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//
//	Date& operator++()
//	{
//		_day += 1;
//		return *this;
//	}
//
//	//使用int 不使用&因为传递tmp为临时变量；
//	Date operator++(int)
//	{
//		Date tmp(*this);
//		_day += 1;
//		return tmp;
//	}
//
//private:
//	int _year;
//	int _month;
//	int _day;
//};
//
//int main()
//{
//	Date d;
//	Date d1(2022, 1, 13);
//	d = d1++;   // d: 2022,1,13   d1:2022,1,14
//	d = ++d1;  // d: 2022,1,15   d1:2022,1,15
//	return 0;
//}


//class Date
//{
//public:
//	Date(int year, int month, int day)
//	{
//		_year = year;
//		_month = month;
//		_day = day;
//	}
//
//	void Print()
//	{
//		cout << "Print()" << endl;
//		cout << "year:" << _year << endl;
//		cout << "month:" << _month << endl;
//		cout << "day:" << _day << endl << endl;
//	}
//
//	void Print() const
//	{
//		cout << "Print()const" << endl;
//		cout << "year:" << _year << endl;
//		cout << "month:" << _month << endl;
//		cout << "day:" << _day << endl << endl;
//	}
//
//private:
//	int _year; // 年
//	int _month; // 月
//	int _day; // 日
//};
//
//void Test()
//{
//	Date d1(2022, 1, 13);
//	d1.Print();
//	const Date d2(2022, 1, 13);
//	d2.Print();
//}
//
//int main()
//{
//	Test();
//	return 0;
//}

//
//class Date
//{
//public:
//	Date* operator&()
//	{
//		return this;
//	}
//
//	const Date* operator&()const
//	{
//		return this;
//	}
//
//private:
//	int _year;
//	int _month;
//	int _day;
//};

//class A
//{
//public:
//	A(int a)
//	  : _a(a)
//	{}
//
//private:
//	int _a;
//};
//
//class B
//{
//public:
//	B(int a, int ref)
//		:_aobj(a)
//		, _ref(ref)
//		, _n(10)
//	{}
//
//private:
//	A _aobj;
//	int& _ref;
//	const int _n;
//};

//class A
//{
//public:
//	A(int a)
//		:_a1(a)
//		, _a2(_a1)
//	{}
//
//	void Print() {
//		cout << _a1 << " " << _a2 << endl;
//	}
//private:
//	int _a2;
//	int _a1;
//};
//
//int main() 
//{
//	A aa(1);
//	aa.Print();
//}

//class A
//{
//public:
//	A(int a = 0)
//		:_a(a)
//	{
//		cout << "A(int a)" << endl;
//	}
//	~A()
//	{
//		cout << "~A()" << endl;
//	}
//private:
//	int _a;
//};
//
//class Solution 
//{
//public:
//	int Sum_Solution(int n) 
//	{
//		//...
//		return n;
//	}
//};
//
//int main()
//{
//	A aa1;
//	A();
//	Solution().Sum_Solution(10);
//	return 0;
//}